<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
// 继承软删除类
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\SoftDeletingScope;

// 默认laravel表名为模型类名+复数
class User extends Model
{
    //限制表名 用写表前缀
    // protected $table = 'user';

    // laravel默认主键为id 所以使用find方法时会报错
    // protected $primaryKey = 'uid';

    // 模型默认维护created_at和updated_at 要想不让模型维护
    // public $timestamps = false;

    // 批量赋值
    // 当通过create方法来添加数据时 需要先将模型上个定义的$fillable 或者 $guarded属性
    // $fillable定义白名单
    // $guarded定义黑名单
    // 如果全部都提交
    protected $guarded = [];
    // 白名单
    // protected $fillable = ['username'];

    // 修改器 set字段名(首字母大写)Attribute user_name => UserName 如果不填则使用默认值
    public function setEmailAttribute( $value)
    {
        $this->attributes['email'] = !empty($value) ? $value : '666@admin.com';
    }

    // 继承软删除
    use SoftDeletes;
    protected $dates = ['deleted_at'];

    // 访问器
    public function getShowDtAttribute()
    {
        return $this->attributes['updated_at'] ? date('Y年m月d日',strtotime($this->attributes['updated_at'])) : '空';
    }
}
